Expressibility in the Lambda Calculus with
نویسندگان
چکیده
We address a problem connected to the unfolding semantics of functional programming languages: give a useful characterization of those infinite λ-terms that are λletrec-expressible in the sense that they arise as infinite unfoldings of terms in λletrec, the λ-calculus with letrec. We provide two characterizations, using concepts we introduce for infinite λ-terms: regularity, strong regularity, and binding–capturing chains. It turns out that λletrec-expressible infinite λ-terms form a proper subclass of the regular infinite λ-terms. In this paper we establish these characterizations only for expressibility in λμ, the λ-calculus with explicit μ-recursion. We show that for all infinite λ-terms T the following are equivalent: (i): T is λμ-expressible; (ii): T is strongly regular; (iii): T is regular, and it only has finite binding–capturing chains. We define regularity and strong regularity for infinite λ-terms as two different generalizations of regularity for infinite first-order terms: as the existence of only finitely many subterms that are defined as the reducts of two rewrite systems for decomposing λ-terms. These rewrite systems act on infinite λ-terms furnished with a bracketed prefix of abstractions for collecting decomposed λ-abstractions and keeping the terms closed under decomposition. They differ in which vacuous abstractions in the prefix are removed. 1998 ACM Subject Classification F.3.3 Studies of Program Constructs
منابع مشابه
Expressibility in the Lambda Calculus with Mu
We address a problem connected to the unfolding semantics of functional programming languages: give a useful characterization of those infinite λ-terms that are λletrec-expressible in the sense that they arise as infinite unfoldings of terms in λletrec, the λ-calculus with letrec. We provide two characterizations, using concepts we introduce for infinite λ-terms: regularity, strong regularity, ...
متن کاملA Lambda Calculus for Transfinite Arrays
Array programming languages allow for concise and generic formulations of numerical algorithms, thereby providing a huge potential for program optimisation such as fusion, parallelisation, etc. One of the restrictions that these languages typically have is that the number of elements in every array has to be finite. This means that implementing streaming algorithms in such languages requires ne...
متن کاملLinear vs Polynomial Constraints in Database Query Languages
We prove positive and negative results on the expressive power of the relational calculus augmented with linear constraints. We show non-expressibility of some properties expressed by polynomial constraints. We also show expressibility of some queries involving existence of lines, when the query output has a simple geometrical relation to the input. Finally, we compare the expressive power of l...
متن کاملExploiting Purely Functional Programming to Obtain Bounded Resource Behaviour: The Hume Approach
This chapter describes Hume: a functionally-based language for programming with bounded resource usage, including time and space properties. The purpose of the Hume language design is to explore the expressibility/costability spectrum in resource-constrained systems, such as real-time embedded or control systems. It is unusual in being based on a combination of λ-calculus and finite state machi...
متن کاملStratified Least Fixpoint Logic
Compton, K.J., Stratified least fixpoint logic, Theoretical Computer Science 131 (1994) 95-120. Stratified least jixpoint logic, or SLFP, characterizes the expressibility of stratified logic programs and, in a different formulation, has been used as a logic of imperative programs. These two formulations of SLFP are proved to be equivalent. A complete sequent calculus with one infinitary rule is...
متن کامل